/*
 * COPYRIGHT:	2010 Christopher Smith, licenced under the GNU GPL v2; see COPYING in the top level directory
 * PROJECT:		sdedit
 * FILE:		lsaopts.cpp
 * PURPOSE:		user options for the LSA interface support
 *				
 */

namespace Lsa
{

SDE_ENUM_VAL SidEnumTypesEnumVals[] = 
{
	{L"User", SID_TYPE_USER},
	{L"Group", SID_TYPE_GROUP},
	{L"Domain", SID_TYPE_DOMAIN},
	{L"Alias", SID_TYPE_ALIAS},
	{L"WellKnown", SID_TYPE_WELL_KNOWN},
	{L"Deleted", SID_TYPE_DELETED},
	{L"Invalid", SID_TYPE_INVALID},
	{L"Unknown", SID_TYPE_UNKNOWN},
	{L"Computer", SID_TYPE_COMPUTER},
};

SDE_ENUM SidEnumTypesEnum = 
{
	RTL_NUMBER_OF(SidEnumTypesEnumVals),
	SID_TYPE_USER | SID_TYPE_GROUP | SID_TYPE_DOMAIN | SID_TYPE_COMPUTER | SID_TYPE_ALIAS,
	SidEnumTypesEnumVals
};

SDE_OPT StaticLsaOptions[] =
{
	{L"SystemName", 0, SptString, 0},
	{L"Domain", 0, SptString, 0},
	{L"SidEnumTypes", SDE_OPT_SET, SptMultiEnumOr, &SidEnumTypesEnum},
	{L"EnumEnabled", SDE_OPT_SET, SptBool, (PVOID)FALSE}
};

enum OptionIndex //synch with Options
{
	OiSystemName,
	OiDomain,
	OiSidEnumTypes,
	OiEnumEnabled
};

SDE_OPTS StaticLsaOpts =
{
	RTL_NUMBER_OF(StaticLsaOptions),
	StaticLsaOptions
};

}//namespace Lsa